Certain applications use network communication protocols to exchange data, either between two or more separate components (e.g. a client and a server) or between functions of a single entity (e.g. a transmit function and a receive function). In environments where the network data exchange may be routed internally, not traversing an external network, it may be desirable to ensure that the data exchange does traverse the external network. There can be several reasons why use of the external network is desirable; these reasons may include, but are not limited to, testing of the external network equipment or to allow a network monitoring application to examine the data exchange. In such a scenario, data (e.g., one or more packets) is sent out one network interface of the system, across a network, to a second network interface of the system. It should be noted that some hardware allows for “loopback” to be established on a single network interface wherein data is sent our and received on the same network interface.
In some scenarios, response data may also be sent from the second network interface back to the first network interface. The time it takes the data to traverse the network is measured and quantified. Further, a comparison of the sent and received data may be performed to confirm that the data was not lost, corrupted or otherwise affected.